Fleetrun
Hecterra
NimBus
Otras aplicaciones
Wialon para Android/iOS
Logistics
Wialon Local
Wialon Hosting
WiaTag
Configurator
LeaseControl
es
Contenido
Sensores: explicación de la tabla de cálculo
  • technical_consulting
  • calculation_table

Una de las primeras y principales etapas del trabajo con Wialon es la configuración de sensores en la unidad. Si los sensores se configuran correctamente, algunos algoritmos estándar darán resultados más precisos y podrá utilizar funcionalidades previamente no disponibles. En este artículo, se examinará en detalle la tabla de cálculo, una herramienta de la pestaña del mismo nombre, ya que es la que más frecuentemente causa dificultades al configurar sensores.

El artículo contiene información de diferentes niveles de complejidad. La parte principal será útil para entender la lógica de funcionamiento de la tabla de cálculo. Sin embargo, los interesados también podrán encontrar aquí formulaciones matemáticas más detalladas, que se destacarán en bloques especiales llamados Minuto matemático. Para una comprensión general del artículo, no es necesario leer estos bloques.

Principio general de funcionamiento de los sensores

Wialon soporta muchos tipos de rastreadores (la cantidad actual se puede encontrar en el sitio web wialon.com en la sección Hardware), y cada uno de ellos "habla" en su propio "idioma". Por lo tanto, los parámetros que provienen de diferentes rastreadores y se muestran en la pestaña Mensajes pueden contener la misma información (por ejemplo, sobre temperatura o kilometraje), pero tener diferentes nombres. Para que el usuario no note diferencias al usar unidades con diferentes tipos de rastreadores, es necesario crear sensores para cada unidad en Wialon. Los sensores tienen un tipo determinado, lo que permite al sistema entender qué algoritmo se debe usar para procesar los parámetros entrantes.

Sin embargo, a menudo simplemente elegir el tipo de sensor e indicar un parámetro en él no es suficiente, porque el valor del parámetro llega de una forma no obvia para el usuario. Por ejemplo, temp=125 puede significar 125°F, 125°C, 12.5°C o incluso −3°C. Existen 3 métodos para convertir el parámetro entrante a la forma deseada:

  1. Expresión en la línea Parámetro;
  2. Tabla de cálculo;
  3. Validación.

Se pueden usar por separado o combinar. Si se usan varios métodos simultáneamente, se aplicarán en el orden en que se enumeran arriba.

Esquemáticamente, el uso de sensores se puede representar de la siguiente manera:

  1. El sensor conectado al rastreador mide algún valor físico, que designaremos como S.
  2. El sensor convierte este valor y la transmite al rastreador. Del rastreador a Wialon llega el parámetro X.
  3. Basándose en el parámetro, se crea un sensor en Wialon. Para obtener un valor Y comprensible para el usuario, se aplican transformaciones f(X) al parámetro en el sensor.
  4. Idealmente, después de las transformaciones en el sensor, el valor Y=f(X) debería ser igual al valor que se midió en la primera etapa. Luego, Y se utilizará en tooltips, informes, notificaciones y otras funcionalidades de Wialon.

Dado que este artículo solo trata sobre la configuración de la tabla de cálculo en Wialon, del esquema anterior solo prestaremos atención a los siguientes elementos:

Cuándo se usa la tabla de cálculo

Por lo general, la tabla de cálculo se usa en casos donde es necesario transformar el parámetro de entrada. Sin embargo, los 3 métodos mencionados anteriormente sirven para esto. ¿En qué caso se debe recurrir específicamente a la tabla de cálculo?

Desde el punto de vista de la aplicación práctica, se puede decir que la tabla de cálculo se utiliza:

  • para la tabla de calibración (por ejemplo, para sensores de peso o nivel de combustible);
  • para sensores digitales basados en datos de entrada analógicos (por ejemplo, para sensores de ignición basados en voltaje);
  • para sensores basados en códigos que describen diferentes estados pero llegan en un solo parámetro (por ejemplo, device_status=4 muestra el estado de la ignición del motor, y device_status=13 significa que el botón de pánico está presionado, etc.);
  • para sensores que deben mostrar valores positivos y negativos, aunque el parámetro asociado solo tiene valores positivos (por ejemplo, para sensores de temperatura);
  • para cualquier sensor en el que sea necesario separar el rango de valores correctos y erróneos (por ejemplo, si el sensor envía valores especiales en el parámetro que indican errores).
 Minuto matemático

En otras palabras, vale la pena usar la tabla de cálculo si:

  • la fórmula Y=f(X) es desconocida, pero en la práctica se han establecido correspondencias entre algunos X e Y;
  • la fórmula Y=f(X) es demasiado compleja (por ejemplo, contiene funciones sin, cos, log, etc., que no son soportadas en Wialon);
  • la fórmula Y=f(X) tiene una forma diferente en diferentes intervalos y no puede ser descrita por una sola función;
  • es necesario separar el rango de valores correctos y erróneos.

Configuración de la tabla de cálculo

La tabla de cálculo implica trabajar con las funciones lineales más simples. Es decir, la tabla de cálculo transforma los datos de acuerdo con la siguiente fórmula: Y=a⋅X+b que es una de las variantes de la ecuación de una línea recta.

Si entendemos cómo funciona cada componente de esta herramienta, se pueden crear soluciones bastante útiles e inusuales con su ayuda. Por lo tanto, a continuación examinaremos cada área de la pestaña Tabla de cálculo por separado, visualizando su impacto en el resultado mediante un gráfico.

Para ver la gráfica que corresponde a la tabla de cálculo completada, es necesario hacer clic en el icono  en la parte superior de la pestaña.

Pares XY

En la parte derecha se encuentra el bloque Pares XY. Su llenado no es suficiente para el funcionamiento de la tabla de cálculo, pero puede simplificar su configuración.

Recomendamos usar pares XY solo para sensores de nivel de combustible, para introducir la tabla de calibración. En otros casos, es mejor calcular e introducir los valores X, a y b independientemente.

Se pueden agregar pares tanto manualmente como mediante la importación de archivos CSV o TXT (la exportación solo está disponible en CSV). Después de llenar todas las filas de este bloque, es necesario hacer clic en el botón Generar (se entiende "Generar tabla de cálculo basada en pares XY"), lo que llevará al cálculo de los valores X, a y b en la parte izquierda de la ventana.

Cada uno de los pares XY agregados corresponde a un punto en el gráfico. Como puede saber, se puede trazar una línea recta a través de 2 puntos. Por lo tanto, si se introducen 5 pares XY, se obtendrán 4 líneas rectas en el gráfico.

No se permite introducir pares con el mismo valor de X. Esto es técnicamente imposible, ya que un valor de X no puede corresponder a dos o más valores de Y. Sin embargo, se pueden introducir valores iguales de Y.

X es valor de entrada

El bloque central de la pestaña Tabla de cálculo contiene filas con valores X, a y b. Cada fila corresponde a una línea recta en el gráfico. El valor X en cada fila significa el comienzo de una nueva línea recta, es decir, establece el intervalo donde se usarán los nuevos valores a y b.

La última fila afecta todos los valores posteriores hasta +∞, y la primera fila afecta los valores incluso antes del primer X especificado, es decir, comenzando desde −∞. Por lo tanto, no tiene sentido escribir varias filas consecutivas con los mismos valores a y b.

Como ejemplo, consideremos una tabla con los siguientes valores:

De otra manera, esta condición se puede escribir así:

  • De −∞ a 3 (sin incluir) se aplica la ecuación Y=1⋅X-2.
  • De 3 (incluyendo) a 5.5 (sin incluir) se aplica la ecuación Y=0⋅X+3.
  • De 5.5 (incluyendo) a +∞ se aplica la ecuación Y=-0.5⋅X+2.

Ejemplo de gráfica obtenida al llenar la tabla de cálculo

a es coeficiente de inclinación de la línea recta

Cuando a=0, la inclinación será 0°, es decir, la línea será paralela al eje X.
Cuando a=1, la inclinación será 45°, es decir, cuanto mayor sea el coeficiente, más cerca estará la línea del eje Y.
Cuando a=-1, la inclinación será −45°, es decir, los valores negativos de este coeficiente inclinan la línea hacia abajo, y los positivos hacia arriba.

Ejemplo de gráfico de la línea recta Y=a⋅X con diferentes coeficientes de inclinación

Determinar el coeficiente de inclinación de una línea recta puede ser bastante simple: su valor es igual a la relación del cambio en Y al cambio en X.

Como ejemplo, podemos considerar la línea verde en el gráfico de arriba. Se puede ver que Y aumenta de 0 a 1 cuando X crece de 0 a 3, lo que significa que para esta línea el coeficiente a=(1-0)/(3-0)=1/3=0.33.


b es desplazamiento de la línea recta a lo largo del eje Y

Cuando b=0, no hay desplazamiento.
Cuando b>0, la línea se desplaza hacia arriba con respecto al eje X.
Cuando b<0, el desplazamiento es hacia abajo.

Ejemplo de líneas con diferentes desplazamientos

Cuando se usan pares XY, el valor de b se calcula automáticamente de manera que el siguiente segmento de línea continúe suavemente el anterior.

Calcular el valor de b no es tan simple como el coeficiente de inclinación, ya que en la mayoría de los casos no tiene una analogía comprensible fuera de las matemáticas, excepto por el desplazamiento de la línea hacia arriba o hacia abajo.

La única excepción es el caso cuando se configura un sensor digital usando la tabla de cálculo. En este caso, a=0, y la fórmula toma la forma Y=b. Por lo tanto, el valor de b será igual a lo que espera ver como Y.

Límites inferior y superior

Los límites permiten descartar valores erróneos del sensor según un principio simple: si el valor está fuera del rango entre el límite inferior y superior, el sensor mostrará un guion (error).

Consideremos un ejemplo con un sensor de nivel de combustible. Supongamos que los valores del parámetro de 3 a 250 corresponden a un volumen de combustible de 0 litros a 100 litros. Y los valores del parámetro 0 o 255 indican errores que queremos excluir para que no se interpreten como un volumen real (ya que en el tanque considerado no puede haber menos de 0 o más de 100 litros de combustible). Para este ejemplo, se puede proponer una solución con la opción Aplicar después del cálculo desactivada:

También existe una solución con la opción Aplicar después del cálculo activada:

Como el límite inferior está incluido en el rango permitido, podemos especificar los valores de la condición (3 o 0). Pero el límite superior no está incluido en el rango permitido, por lo que en este campo se debe especificar un valor ligeramente mayor que en la condición (250.1 o 100.1).

Del ejemplo se puede entender que la opción Aplicar después del cálculo afecta a qué valores se aplican los límites: si está desactivada, se filtran los valores en el eje X (valores de entrada antes de aplicar la tabla de cálculo), y si está activada, se filtran los valores en el eje Y (valores del sensor después de aplicar la tabla de cálculo).

Para visualizar el funcionamiento de los límites, consideremos otro ejemplo en el que se aplican los mismos límites a la misma línea recta, y la diferencia radica solo en la opción Aplicar después del cálculo, que afecta significativamente el resultado.

Límite inferior igual a 2, límite superior igual a 3, opción Aplicar después del cálculo desactivada

Límite inferior igual a 2, límite superior igual a 3, opción Aplicar después del cálculo activada

Principio de funcionamiento de la tabla de cálculo

A veces, para entender la esencia de un fenómeno, es necesario ir al revés. Si conocemos la fórmula exacta Y=f(X) que relaciona los valores de entrada y salida en todo el rango, no es necesario recurrir a la tabla de cálculo; es suficiente simplemente usar la expresión en la línea Parámetro. Consideremos tal caso.

Por ejemplo, supongamos que el valor de entrada está relacionado con el de salida por la siguiente fórmula: Y=0.5⋅X². Como parámetro, tomemos adc3. Para describir tal fórmula en Wialon, es necesario insertar la siguiente expresión en la línea Parámetro: const0.5*adc3^const2

Gráfico de la función Y=0.5⋅X²

Pero ¿qué hacer si no conocemos la fórmula exacta Y=f(X)? Es precisamente en este caso que nos ayudará la tabla de cálculo.

Supongamos que en ciertas condiciones conocemos los valores de la magnitud medida (esto será Y) y podemos verificar qué valor tomará el parámetro en Wialon en estos puntos (esto será X). De esta manera, podemos obtener valores, por ejemplo, en 4 puntos: (0; 0), (1; 0.5), (2; 2), (3; 4.5). Luego, trazamos estos puntos (X, Y) en el gráfico y los conectamos con segmentos de color rojo.

Reproducción de parte de la función Y=0.5⋅X² con segmentos construidos a partir de 4 puntos

No es difícil notar que el resultado es cercano al que se obtiene por la fórmula, pero aún hay diferencias. En algunos casos, tal precisión será suficiente, y si no lo es, se pueden medir valores en más puntos. En el gráfico de abajo se muestra un ejemplo para 6 puntos: (0; 0), (0.5; 0.125), (1; 0.5), (1.5; 1.125), (2; 2), (3; 4.5).

Reproducción de parte de la función Y=0.5⋅X² con segmentos construidos a partir de 6 puntos

Del ejemplo considerado se puede sacar la siguiente conclusión: la relación entre X e Y se puede describir no solo mediante una fórmula, sino también mediante varias líneas rectas, aunque a veces de manera simplificada. En esto radica la esencia del uso de la tabla de cálculo.

 Minuto matemático

La tabla de cálculo utiliza aproximación puntual e interpolación lineal.

La aproximación puntual es encontrar una función que esté cerca de la original basándose en un conjunto de valores conocidos de antemano. En Wialon, se utiliza para reproducir aproximadamente la función basándose en pares XY.

La interpolación lineal es el cálculo de valores en los segmentos entre puntos inicialmente conocidos mediante líneas rectas que pasan por estos puntos. En Wialon, se utiliza para calcular valores en puntos que se encuentran entre pares XY previamente introducidos, según la función aproximadamente reproducida.

Justificación y ejemplos de uso

En esta sección, consideraremos varios casos en los que la tabla de cálculo será útil.

La forma de la curva que describe la relación entre X e Y puede ser bastante compleja.

Por ejemplo, al usar un sensor de nivel de combustible, es necesario calibrar el tanque, y la forma del gráfico construido según la tabla de calibración dependerá de la geometría del tanque, que nunca es ideal (puede tener curvas, abolladuras, costillas internas, etc.).

Gráfico construido según la tabla de calibración con pequeños pasos entre mediciones

Describir tal dependencia con una sola fórmula es bastante problemático. Una forma más simple de describir la curva para el sistema es dividirla en intervalos donde se comporta aproximadamente como una línea recta y determinar las fórmulas de estas líneas. Se puede obtener un resultado similar usando pares XY.

Reproducción de la forma de una curva compleja mediante segmentos que pasan por 11 puntos

Además, a veces la dependencia entre X e Y puede ser diferente en varios intervalos. Para describirla, es necesario utilizar un sistema de varias expresiones, lo cual no se puede hacer en la línea Parámetro en las propiedades del sensor.

Por ejemplo, algunos sensores de temperatura funcionan de la siguiente manera: los valores de X en el rango de 0 a 127 corresponden a temperatura positiva, y en el rango de 128 a 255 a temperatura negativa. Para procesar tal caso, se necesitarán dos líneas en la tabla de cálculo:

X=0; a=1; b=0
X=128; a=1; b=-256

Gráfico de temperatura, donde valores más altos del parámetro corresponden a temperatura negativa

Los sensores digitales son otro ejemplo claro de una situación donde la dependencia entre X e Y es diferente en varios intervalos. Por ejemplo, se puede crear un sensor de ignición basado en el parámetro de voltaje, y para esto es necesario considerar dos condiciones: Y=0 cuando X<14, Y=1 cuando X≥14. Pero, como ya sabemos, no se puede hacer esto usando una expresión en las propiedades del sensor. Y en la pestaña Tabla de cálculo, para esto se necesitarán solo dos líneas:

X=0; a=0; b=0
X=14; a=0; b=1

En los sensores digitales, el coeficiente de inclinación siempre es 0.

Gráfico del estado de ignición en función del voltaje

 Minuto matemático

En el artículo ya se ha mencionado varias veces que idealmente se necesita una fórmula de relación entre X e Y para el sensor, y usamos la tabla de cálculo debido a la falta de otras opciones. En realidad, se puede intentar calcular tal fórmula, pero para esto es necesario tener una idea de los métodos numéricos de análisis y el software correspondiente. Al mismo tiempo, el resultado probablemente será difícil de entender y será difícil de corregir en el futuro. Para demostrarlo, calculamos un polinomio de interpolación para los siguientes 7 puntos: (0; 5), (400; 8), (1000; 22), (1850; 78), (2800; 160), (3600; 195), (4096; 200).

El resultado de la interpolación polinomial en este caso tiene la siguiente forma:

Y=1.78962834270398⋅10-19⋅X6-7.99064624017665⋅10-16⋅X5-4.83816855045549⋅10-12⋅X4+
+2.62803612257704⋅10
-8⋅X3-1.24091655860425⋅10-5⋅X2+8.58707470047479⋅10-3⋅X+5

Esta fórmula se puede introducir en la línea Parámetro en las propiedades del sensor (teniendo en cuenta la sintaxis de Wialon), y realmente funcionará. El gráfico de tal función en el rango de 0 a 4096 tiene el siguiente aspecto:

Sin embargo, si la dependencia descrita tiene una forma más compleja que la mostrada en el gráfico anterior, será necesario tomar más puntos o incluso usar otro método de interpolación, lo que puede llevar a que el resultado sea aún más difícil de percibir. Por lo tanto, la interpolación lineal, que se utiliza en la tabla de cálculo en Wialon, parece muy ventajosa en este contexto, ya que es bastante precisa y simple.

Oleg Zharkovsky,Customer Service Engineer

Si encuentra un error en el texto, por favor, selecciónelo y apriete Ctrl+Intro.
Gracias por su opinión.
Informar de un error
Texto con el error Comentario
Máximo 500 caracteres